/*
 * CoefficientSelectionException.cpp
 *
 * Copyright 2012 Fabian Wenzelmann
 *
 * This file is part of Recognition-Procedures-for-Boolean-Functions.
 *
 * Recognition-Procedures-for-Boolean-Functions is free software: you
 * can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation,
 * either version 3 of the License, or (at your option) any later version.
 *
 * Recognition-Procedures-for-Boolean-Functions is distributed in the hope
 * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 * Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Recognition-Procedures-for-Boolean-Functions.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include "bfr/lpbCombinatorial/CoefficientSelectionException.hpp"

namespace bfr {

CoefficientSelectionException::CoefficientSelectionException(
                              lpb_coefficient_t a,
                              lpb_coefficient_t b)
    : msg("") {
    std::ostringstream stream;
    stream << "It is not possible to choose a"
            " coefficient between "
            << a
            << " and "
            << b
            << ".";
    msg = stream.str();
}

CoefficientSelectionException::CoefficientSelectionException
    (const std::string &m)
        : msg(m) { }

CoefficientSelectionException::~CoefficientSelectionException() throw () { }

const char* CoefficientSelectionException::what() const throw() {
    return msg.c_str();
}

}
